[C] POSIX Threads
Publicado por Enzo de Brito Ferber 26/01/2009
[ Hits: 6.955 ]
Homepage: http://www.maximasonorizacao.com.br
O foco deste programa é fazer com que o processo filho criado por fork() não seja terminado quando o processo pai termina, e para isso, usei threads. Para terminar o programa, digite no terminal:
kill <child_pid>
O child_pid é mostrado ao usuário quando o programa é executado. Bem legal :)
// pthread2.c /* * Enzo Ferber : <enzo@veloxmail.com.br> * * POSIX Threads Test 2 * @ Exit parent and go on with child. * * $ gcc -lpthread -o pthread2 pthread2.c */ #include <stdio.h> #include <stdlib.h> #include <unistd.h> // getpid #include <pthread.h> // POSIX Threads #include <sys/types.h> // getpid // child in infinite loop void *childfunction ( void *ptr ) { pthread_t self = pthread_self (); pthread_detach ( self ); for ( ; ; ) { printf ( "[*] Here I am again ... \n"); sleep (2); } } // main function int main ( int argc, char *argv[] ) { pthread_t child; int cret; // child pthread_create () return // child if ( !fork() ) { printf ( "[*] Child proccess begining ... \n" ); cret = pthread_create ( &child, NULL, childfunction, NULL ); printf ( "[*] Child PID: %d\n", getpid () ); pthread_join ( child, NULL ); } // parent else { printf ( "[*] Parent PID: %d\n", getpid () ); printf ( "[*] Aborting parent ...\n" ); exit (0); } // end main return 0; } // EoF
Pilhas C/C++ - Analisador de expressões simples
Jogo Final Fight - Haggar (com gráficos)
Busca, inserção e remoção de elementos numa lista
Nenhum coment�rio foi encontrado.
Aprenda a Gerenciar Permissões de Arquivos no Linux
Como transformar um áudio em vídeo com efeito de forma de onda (wave form)
Como aprovar Pull Requests em seu repositório Github via linha de comando
Aplicativo simples para gravar tela
Quebra de linha na data e hora no Linux Mint
trocar linhas [RESOLVIDO] (11)
Firefox não abre em usuário não administradores (2)
Ubuntu com problemas no áudio (1)